package com.yungu.swift.system.marketing.model.vo;

import com.yungu.swift.base.model.annotation.AbsoluteImgPath;
import com.yungu.swift.base.model.BaseVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author : cuixiuyin
 * @date : 2019/8/7
 */
@Data
public class AdminMarketingGiftVo extends BaseVo {

    @ApiModelProperty(value = "礼包名称")
    private String name;

    @ApiModelProperty(value = "礼包类型（1.注册。2.乘客邀请。3.司机邀请。4.二维码/微信链接。5.自动指定人群。6.一次性发放 7.兑换码口令）", example = "0")
    private Integer type;

    @ApiModelProperty(value = "礼包子类型（1、司机邀请乘客。2、司机邀请司机）", example = "0")
    private Integer subType;

    @ApiModelProperty(value = "发送量", example = "0")
    private Integer sendCount;

    @ApiModelProperty(value = "礼包状态：1.开启。0.关闭", example = "0")
    private Integer status;

    @ApiModelProperty(value = "总数量", example = "0")
    private Integer totalNumber;

    @ApiModelProperty(value = "剩余数量", example = "0")
    private Integer remainNumber;

    @ApiModelProperty(value = "礼包获得方式：1、成功完成第一个订单后。2、成功注册后", example = "0")
    private Integer getMode;

    @ApiModelProperty(value = "司机返现金额")
    private BigDecimal driverCashback;

    @ApiModelProperty(value = "有效期开始日期")
    private Date effectiveDate;

    @ApiModelProperty(value = "有效期结束日期")
    private Date expiryDate;

    @ApiModelProperty(value = "领取用户限制 0 不限,1 仅限新用户,2 仅限老用户", example = "0")
    private Integer limitDrawType;

    @ApiModelProperty(value = "限制领取次数", example = "0")
    private Integer limitDrawCount;

    @ApiModelProperty(value = "发放开通城市")
    private String cityNames;

    @ApiModelProperty(value = "发送城市")
    private String sendCity;

    @ApiModelProperty(value = "发送城市名称集")
    private String sendCityName;

    @ApiModelProperty(value = "已抵扣金额")
    private BigDecimal amountDeducted;

    @ApiModelProperty(value = "已失效金额")
    private BigDecimal expiredMoney;

    @ApiModelProperty(value = "司机已领取金额")
    private BigDecimal driverReceiveMoney;

    @ApiModelProperty(value = "码类型", example = "0")
    private Integer codeType;

    @ApiModelProperty(value = "创建方式", example = "0")
    private Integer createCodeType;

    @ApiModelProperty(value = "口令")
    private String passwordsCode;

    @ApiModelProperty(value = "邀请者奖励方式", example = "0")
    private Integer inviteRewardMethod;

    @ApiModelProperty(value = "被邀请者奖励方式", example = "0")
    private Integer invitedRewardMethod;

    @ApiModelProperty(value = "被邀请者礼包名称")
    private String invitedGiftName;

    @ApiModelProperty(value = "(自动指定人群-安慰连续叫单不成功) 限制叫单分钟数（分钟）", example = "0")
    private Integer limitTime;

    @ApiModelProperty(value = "(自动指定人群-安慰连续叫单不成功) 限制叫单数", example = "0")
    private Integer limitCount;

    @ApiModelProperty(value = "(自动指定人群-安慰连续叫单不成功) 限制叫单等待时长（秒）", example = "0")
    private Integer limitWait;

    @AbsoluteImgPath
    @ApiModelProperty("(二维码/链接) 背景图片")
    private String backgroundImage;

    @AbsoluteImgPath
    @ApiModelProperty("(二维码/链接) 领取按钮图片")
    private String buttonImage;

    @ApiModelProperty("(二维码/链接) 规则说明")
    private String ruleDescription;
}
